home *** CD-ROM | disk | FTP | other *** search
/ Ultra Gameplayers 101 / Ultra Game Players Magazine, No. 101 - September 1997 (Imagine Publishing, Inc.)(1997).iso / pc / new_ugp.dxr / 00302_Member Replacement Class.ls < prev    next >
Encoding:
Text File  |  1997-07-10  |  1.6 KB  |  64 lines

  1. property spritenum, baseMember, animCastList, cycleTime, startTime, turnedOn, ancestor
  2.  
  3. on new me, parameterList
  4.   set spritenum to getProp(parameterList, #spritenum)
  5.   set baseMember to getaProp(parameterList, #baseMember)
  6.   if stringp(baseMember) or (baseMember > 0) then
  7.     set baseMember to the number of member baseMember
  8.   end if
  9.   set animCastList to getProp(parameterList, #animCastList)
  10.   repeat with animMember in animCastList
  11.     preloadMember(member animMember)
  12.   end repeat
  13.   set cycleTime to getaProp(parameterList, #cycleTime)
  14.   set startTime to 0
  15.   set turnedOn to 0
  16.   return me
  17. end
  18.  
  19. on TurnOn me
  20.   if baseMember <= 0 then
  21.     set baseMember to the memberNum of sprite spritenum
  22.   end if
  23.   puppetSprite(spritenum, 1)
  24.   if startTime = 0 then
  25.     set startTime to the ticks
  26.   end if
  27.   if cycleTime <= 0 then
  28.     set animIndex to 1
  29.   else
  30.     set animIndex to (the ticks - startTime) / cycleTime
  31.     set animIndex to (animIndex mod count(animCastList)) + 1
  32.   end if
  33.   set newCast to getAt(animCastList, animIndex)
  34.   set newCast to the number of member newCast
  35.   if the memberNum of sprite spritenum <> newCast then
  36.     set the memberNum of sprite spritenum to newCast
  37.     updateStage()
  38.   end if
  39.   set turnedOn to 1
  40. end
  41.  
  42. on TurnOff me
  43.   if turnedOn then
  44.     if baseMember > 0 then
  45.       set the memberNum of sprite spritenum to baseMember
  46.     end if
  47.     set startTime to 0
  48.     set turnedOn to 0
  49.   end if
  50. end
  51.  
  52. on dispose me
  53.   if baseMember > 0 then
  54.     set the memberNum of sprite spritenum to baseMember
  55.   end if
  56.   puppetSprite(spritenum, 0)
  57.   set turnedOn to 0
  58.   set animCastList to []
  59.   if objectp(ancestor) then
  60.     dispose(ancestor)
  61.   end if
  62.   set ancestor to 0
  63. end
  64.